/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tesis2.pucp.Envio.Controlador;

import com.tesis2.pucp.Envio.DAO.ClienteDAO;
import com.tesis2.pucp.Envio.Vista.ClienteGUI;
import com.tesis2.pucp.Modelo.TesisCliente;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
 *
 * @author jorge
 */
public class ClienteControlador {
    private ClienteDAO m;
    private ClienteGUI ClienteView;
    private TesisCliente cliente;
    private BuscarClienteControlador buscarClienteControlador;
    private final static int ESTADO_ACTIVO=1;

    public ClienteControlador(ClienteDAO dao, ClienteGUI view, BuscarClienteControlador buc, TesisCliente cliente){
        m = dao;
        ClienteView = view;
        buscarClienteControlador = buc;
        this.cliente=cliente;
        ClienteView.setFormCliente(this.cliente);
        
        ClienteView.addCancelarListener(new cancelarListener());        
        ClienteView.addLimpiarListener(new limpiarListener());              
        ClienteView.addGuardarListener(new guardarClienteListener());
        
    }
    
    
        
    class guardarClienteListener implements ActionListener{

        @Override
        public void actionPerformed(ActionEvent e) {
            TesisCliente a = new TesisCliente();
            a.setApellidomaterno(ClienteView.getApMaterno());
            a.setNombre(ClienteView.getNombre());
            a.setDni(Integer.valueOf(ClienteView.getDNI()));
            a.setApellidopaterno(ClienteView.getApPaterno());
            a.setTelefono(Integer.valueOf(ClienteView.getTelefono()));
            a.setEmail(ClienteView.getCorreo());
            a.setDireccion(ClienteView.getDireccion());
            a.setLatitud(-12.090289);
            a.setLongitud(-77.028664);
            a.setEstado(ESTADO_ACTIVO);
            
            m.guardarCliente(a);
            if (cliente!=null) {ClienteView.mostrarAviso("Se modificó el cliente con éxito");}
            else { ClienteView.mostrarAviso("Se registró el cliente con éxito");}
            buscarClienteControlador.listarResultados();            
            ClienteView.dispose();            
        }
    }
    
    class cancelarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            ClienteView.dispose();
        }        
    }    
           
    
    class limpiarListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            ClienteView.LimpiarDatos();
        }        
    }    
}
